Class ObservableBase<UNIT>
Provides observable functionality.
Keeps an internal collection of observers, and provides methods such
as NotifyObservers and Subscribe.
Assembly: Meadow.Foundation.dll
View Source
public abstract class ObservableBase<UNIT> : IObservable<IChangeResult<UNIT>> where UNIT : struct
Derived:
Meadow.Foundation.SamplingSensorBase<UNIT>
Implements:
System.IObservable<Meadow.IChangeResult<<UNIT>>>
Properties
observers
Subscribed observers
View Source
protected List<IObserver<IChangeResult<UNIT>>> observers { get; set; }
Methods
NotifyObservers(IChangeResult<UNIT>)
Notify observers of a change
View Source
protected void NotifyObservers(IChangeResult<UNIT> changeResult)
Parameters
| Type | Name |
|---|---|
Meadow.IChangeResult<<UNIT>> | changeResult |
Subscribe(IObserver<IChangeResult<UNIT>>)
Subscribes an IObserver to get notified when a change occurs.
View Source
public IDisposable Subscribe(IObserver<IChangeResult<UNIT>> observer)
Returns
System.IDisposable
Parameters
| Type | Name | Description |
|---|---|---|
System.IObserver<Meadow.IChangeResult<<UNIT>>> | observer | The IObserver that will receive the |
| change notifications. |
CreateObserver(Action<IChangeResult<UNIT>>, Predicate<IChangeResult<UNIT>>?)
Convenience method to generate a an FilterableChangeObserver with
the correct signature.
View Source
public static FilterableChangeObserver<UNIT> CreateObserver(Action<IChangeResult<UNIT>> handler, Predicate<IChangeResult<UNIT>>? filter = null)
Returns
Meadow.FilterableChangeObserver<<UNIT>>: A FilterableChangeObserver
Parameters
| Type | Name | Description |
|---|---|---|
System.Action<Meadow.IChangeResult<<UNIT>>> | handler | The action that is invoked when the filter is satisfied. |
System.Predicate<Meadow.IChangeResult<<UNIT>>> | filter | An optional filter that determines whether or not the |
| consumer should be notified. |
Implements
System.IObservable<Meadow.IChangeResult<<UNIT>>>